home *** CD-ROM | disk | FTP | other *** search
- import unittest
- from test import test_support
- from compiler import transformer, ast
- from compiler import compile
-
- class Tests(unittest.TestCase):
-
- def testMultipleLHS(self):
- """ Test multiple targets on the left hand side. """
-
- snippets = ['a, b = 1, 2',
- '(a, b) = 1, 2',
- '((a, b), c) = (1, 2), 3']
-
- for s in snippets:
- a = transformer.parse(s)
- assert isinstance(a, ast.Module)
- child1 = a.getChildNodes()[0]
- assert isinstance(child1, ast.Stmt)
- child2 = child1.getChildNodes()[0]
- assert isinstance(child2, ast.Assign)
-
- # This actually tests the compiler, but it's a way to assure the ast
- # is correct
- c = compile(s, '<string>', 'single')
- vals = {}
- exec c in vals
- assert vals['a'] == 1
- assert vals['b'] == 2
-
- def test_main():
- test_support.run_unittest(Tests)
-
- if __name__ == "__main__":
- test_main()
-